In recent years, electronic spreadsheets have become well known tools for manipulating and presenting information on a computer. A spreadsheet application is a computer program for creating, modifying and displaying spreadsheets. A spreadsheet organizes data in a two-dimensional pattern of rows and columns, although three and higher dimensional electronic spreadsheets can also be used. Each intersection of a row and a column is termed a cell. The spreadsheet can store a data string in each cell. In general, the data string can include a numeric value such as a cost figure, a label such as a column heading, a date, a formula for computing a numeric value based upon numeric values contained in other cells, and/or format information indicating how data is to be displayed. Typically, the spreadsheet program can also store parameters applicable to multiple cells, such as column widths and default formats.
When the spreadsheet program displays a spreadsheet, either on a computer screen or in a printed report, the electronic spreadsheet does not display the data strings contained in each cell. Rather, the electronic spreadsheet interprets the contents of each cell, and displays the results. For example, if a cell contains numeric or label data, then such data is displayed, modified by any format information contained in the cell. Format information may specify the number of decimal places for numeric values, the format for displaying a date value, etc. When a cell contains a formula, the electronic spreadsheet evaluates the formula, and displays the result, again according to whatever format information the cell may contain.
Advances in spreadsheet application technology have resulted in the ability to create internal programs within the spreadsheets called macros. Macros can be simple functions to format data as described above, or they may be programs that may perform sophisticated analysis of data, or perform other tasks such as transfer of data, call external programs etc.
Although the usefulness of spreadsheet applications has been established for a while, a major hindrance in the usability of spreadsheet applications has been the ability of users to enter large amounts of data from multiple data sources for further analysis within the spreadsheet. Furthermore, the process of manually interspersing data processing functions with data retrieval functions is inefficient, difficult, and potentially error-prone.
The invention has the ability to automatically populate data from a plurality of data sources and execute a plurality of functions in the spreadsheet for formatting, data processing, or other purposes without the intervention of the user.